package questions

// RatingQuestion 评分题实现
type RatingQuestion struct {
	BaseQuestion `json:",inline"` // 嵌入基础题目结构
	Settings     *RatingSettings  `json:"settings"` // 具体设置
}

// RatingSettings 评分题设置
type RatingSettings struct {
	RatingType string   `json:"ratingType"` // 评分类型：star, number, emoji
	MinRating  *int     `json:"minRating"`  // 最小评分值
	MaxRating  *int     `json:"maxRating"`  // 最大评分值
	Step       float64  `json:"step"`       // 评分步长
	Labels     []string `json:"labels"`     // 评分标签
	Direction  string   `json:"direction"`  // 方向：horizontal, vertical
}

func (r RatingSettings) GetType() QuestionType {
	return Rating
}

// RatingAnswer 评分题答案
type RatingAnswer struct {
	Value float64 `json:"value"` // 评分值
}

// GetSettings 方法实现Question接口
func (rq RatingQuestion) GetSettings() *RatingSettings {
	return rq.Settings
}
